Methods and systems for providing programmable computerized interactors

ABSTRACT

A computerized interactor system uses physical, three-dimensional objects as metaphors for input of user intent to a computer system. When one or more interactors are engaged with a detection field, the detection field reads an identifier associated with the object and communicates the identifier to a computer system. The computer system determines the meaning of the interactor based upon its identifier and upon a semantic context in which the computer system is operating.

CROSS REFERENCE TO OTHER APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.11/212,975, entitled “Methods and Systems for Providing ProgrammableComputerized Interactors,” filed Aug. 25, 2005, which is incorporatedherein by reference for all purposes, which is a continuation of U.S.patent application Ser. No. 10/402,345, entitled “Methods and Systemsfor Providing Programmable Computerized Interactors,” filed Mar. 27,2003, now U.S. Pat. No. 6,952,196, which is incorporated herein byreference for all purposes, which is a continuation of U.S. patentapplication Ser. No. 09/991,132, entitled “Methods and Systems forProviding Programmable Computerized Interactors,” filed Nov. 16, 2001,now U.S. Pat. No. 6,556,184, which is incorporated herein by referencefor all purposes, which is a divisional of U.S. patent application Ser.No. 09/056,223, entitled “Methods and Systems for Providing ProgrammableComputerized Interactors,” filed Apr. 7, 1998, now U.S. Pat. No.6,356,255, which is incorporated herein by reference for all purposes.

CROSS REFERENCE TO RELATED APPLICATION

This application is related to U.S. patent application Ser. No.09/056,354, entitled “System and Method for Controlling a MusicSynthesizer,” filed Apr. 7, 1998, now U.S. Pat. No. 6,018,118, which isincorporated herein by reference in its entirety.

BACKGROUND OF THE INVENTION

This invention relates generally to computer interfaces and moreparticularly to computerized interactor systems that utilize userprogrammable interactors for providing computer interfaces.

People are constantly interacting with computerized systems, from thetrivial (e.g., the computerized toaster or the remote controltelevision) to the exceedingly complex (e.g., telecommunications systemsand the Internet). An advantage of computerization is that such systemsprovide flexibility and power to their users. However, the price thatmust be paid for this power and flexibility is, typically, an increasein the difficulty of the human/machine interface.

A fundamental reason for this problem is that computers operate onprinciples based on the abstract concepts of mathematics and logic,while humans tend to think in a more spatial manner. Often people aremore comfortable with physical, three-dimensional objects than they arewith the abstractions of the computer world. In short, the power andflexibility provided by the computer and related electronic technologyare inherently limited by the ability of the human user to control thesedevices. Since people do not think like computers, metaphors are adoptedto permit people to effectively communicate with computers. In general,better metaphors permit more efficient and medium independentcommunications between people and computers. The better metaphor willprovide the user a natural and intuitive interface with the computerwithout sacrificing the computer's potential.

There are, of course, a number of computer interfaces which allow users,with varying degrees of comfort and ease, to interact with computers.For example, keyboards, computer mice, joysticks, etc. allow users tophysically manipulate a three-dimensional object to create an input intoa computer system. However, these computer interfaces are quiteartificial in nature, and tend to require a substantial investment intraining to be used efficiently.

Progress has been made in improving the computer interface with thegraphical user interface (GUI). With a GUI, icons that representphysical objects are displayed on a computer screen. For example, adocument file may look like a page of a document, a directory file mightlook like a file folder, and an icon of a trash can may be used fordisposing of documents and files. In other words, GUIs use “metaphors”where a graphical icon represents a physical object familiar to users.This makes GUIs easier for most people to use. GUIs were pioneered atsuch places as Xerox PARC of Palo Alto, Calif. and Apple Computer, Inc.of Cupertino, Calif. The GUI is also often commonly used with UNIX™based systems, and is rapidly becoming a standard in the PC/MS-DOS worldwith the Windows™ operating system provided by Microsoft Corporation ofRedmond, Wash.

While GUIs are a major advance in computer interfaces, they nonethelesspresent a user with a learning curve due to their still limitedmetaphor. In other words, an icon can only represent a physical object;it is not itself a physical object. It would be ideal if the computerinterface was embodied in a physical medium which could convey afamiliar meaning, one perhaps relevant to the task at hand.

Recognizing the problems, a number of researchers and companies havecome up with alternative computer interfaces which operate on real-worldmetaphors. Some of these concepts are described in the July, 1993special issue of Communications of the ACM, in an article entitled“Computer Augmented Environments, Back to the Real World.” Anotherexample is the electronic white boards of Wacom and others whereordinary-looking erasers and markers are used to create an electronic“ink.” Wellner describes a “DigitalDesk” that uses video cameras, paper,and a work station to move between the paper and the electronic worlds.Fitzmarice has a “Chameleon” unit which allows a user to walk up to abookshelf and press a touch-sensitive LCD strip to hear more about aselected book. Finally, MIT Media Lab has a product known as Lego/Logowhich lets children program by snapping plastic building blockstogether, where each of the building blocks includes an embeddedmicroprocessor.

Bishop has developed a “marble answering machine” which appears to storea voice mail message in a marble that drops into a cup. The marble, infact, triggers a pointer on a small computer which stores the message.To play back the message, the marble is dropped into the machine again.This marble answering machine has been publicly known at least as ofJune, 1993.

While strides have been made in attempting to improve computerinterfaces, there is still progress to be made in this field.Ultimately, the interface itself should disappear from the consciousthought of users so that they can intuitively accomplish their goalswithout concern to the mechanics of the interface or the underlyingoperation of the computerized system.

SUMMARY OF THE INVENTION

The present invention improves the human-computer interface by using“interactors.” An interface couples a detection field to a computersystem which, in turn, may be coupled to other systems. When aninteractor is entered into the detection field, moved about within thedetection field, or removed from the detection field, an event isdetected which, when communicated to the computer system, can be used tocreate a control signal for either the controller computer system or toa system connected to the controller computer system. Preferably, thedetection field is suitably sized and configured so that multiple userscan simultaneously access the field and such that multiple interactorscan be engaged with the field simultaneously.

By “interactor” it is meant that a physical, real world object is usedthat can convey information both to the controller computer system andto users. An interactor can provide identity (ID) information and otherstate information to the computer through a resistor, an embeddedcomputer chip, a bar code, etc. An object can also be made into aninteractor by embedding higher-level logic, such as a program logicarray, microprocessor, or even a full-blown microcomputer. An interactorforms part of a system wherein information is assigned by users to atleast one object.

According to a first embodiment of the present invention, a computerizedinteractor system has a detection space, at least one physicalinteractor which can be manually placed within and removed from thedetection space, and an interface. This physical interactor has anidentity and a user programmable state variable, and the interfaceresponds to the physical interactor by providing an interactor signalindicative of the identity and the programmable state variable.

In related embodiments, the computerized interactor system also has acomputer system that processes the interactor signal to create a controlinput that is indicative of the identity and/or the programmable statevariable. Coupled to the computer system is a computer readable mediumstoring application data. This application data defines both an identitymapping between each interactor identity and a corresponding interactoridentity computer instruction, and a position mapping between each ofthe plurality of positions and a corresponding position computerinstruction. The computer readable medium may be one of a number ofdifferent removable computer readable mediums available, each oneproviding different data and perhaps even a different type ofapplication.

For example, one embodiment of the present invention teaches that theidentity computer instructions are sound instructions and that theplurality of interactors each represent a playable sound sequence.Similarly, the position computer instructions are sound modificationinstructions such that the positions each represent a particular soundmodification characteristic. In this case, the computer system has anamplifier and a speaker and will play sound in accordance with theidentity and position mappings and the control input generated due tothe arrangement of the plurality of interactors at the plurality ofpositions of the detection space.

In yet another embodiment of the present invention, the computerizedinteractor system includes an overlay template attachable to cover oneor more of the plurality of positions. This overlay template providescontent to a user of the computerized interactor system, and can be usedto implement a variety of different applications.

By way of example, the overlay template could represent afill-in-the-blank text having at least one blank overlapping somepositions but exposing others. In this case, the interactor identitycomputer instructions could each represent a word, and when aninteractor is inserted into an exposed position, the computer system cansound out the fill-in-the-blank text, inserting the word represented bythe inserted interactor. Alternatively, rather than simply reading textaloud, the interactor system would play a chosen sound or other mediafor each of the blanks provided in the overlay.

Another embodiment of the present invention teaches a user playablesound system. The playable sound system has a plurality of interactorseach having an identity specified by identification circuitry, adetection array, an interface, a computer readable medium storingapplication data, and a digital processor coupled to the interface. Thedetection array has multiple spots for engaging the interactors in orderto at least temporarily connect the identification circuitry of theinteractor with internal circuitry of the detection space. The interfaceresponds to the disposition of interactors within the detection arrayand provides an interactor signal indicative of the identity andposition of each interactor disposed within the detection array. Theapplication data stored on the computer readable medium storing definesboth an identity mapping between each interactor identity and acorresponding interactor identity instruction, and a position mappingbetween each of the plurality of positions and a corresponding positioninstruction. The digital processor executes a sound sequence dependentupon the interactor signal and the application data.

Yet another embodiment of the present invention teaches an interactorsuitable for manually placing within a detection space of a computerizedinteractor system. The interactor has identity circuitry defining anidentity of the interactor, a light conduit arranged to conduct lightthrough the interactor, and user programmable state circuitry defining astate of the interactor.

One aspect of the present invention teaches a computer implementedmethod allowing a user to control an application executing on a computersystem through the use of a plurality of physical interactors that canbe manually placed within a detection space coupled to the computersystem. This control method includes providing a computer readablemedium storing data and operating instructions suitable for use incontrolling the computer system, reading application instructions intomemory of the computer system, and generating a play array that includesdata corresponding to a position and an identity of each interactorpositioned within the detection space. The control method alsorepeatedly executes an action based upon the play array and theapplication instructions, monitors to determine whether an event hasoccurred that requires updating the play array, and updates the playarray when an event occurs that requires such an update. Eventsrequiring an update include an interactor interrupt and a softwareinterrupt, the interactor interrupt corresponding to one of i) theinsertion of a particular interactor into the detection space and ii)the removal of the particular interactor from the detection space. Inaddition to having an identity parameter, each interactor may also haveone or more variable parameters that may be adjustable by the user, ormay vary depending upon other circumstances. The control method canutilize the parameter values in executing the application. In thesecases, when the control method determines that a parameter value haschanged, an interrupt would effectuate a change in the play array.

These and other advantages of the present invention will become apparentupon reading the following detailed descriptions and studying thevarious figures of the drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a pictorial representation of an interactor system inaccordance with the present invention.

FIG. 2 is a pictorial illustration of a beadbox interactor system inaccordance with one embodiment of the present invention.

FIG. 3 is a diagrammatic illustration of one suitable embodiment ofcircuitry required to implement the beadbox interactor system of FIG. 2.

FIG. 4 is a pictorial illustration of an interactor bead in accordancewith another embodiment of the present invention.

FIG. 5 is a circuit diagram of an interactor conductor in accordancewith yet another embodiment of the present invention.

FIG. 6 is a flow chart illustrating a method for generating a beadinteractor interrupt in accordance with the present invention.

FIG. 7 is a flow chart illustrating a method for playing a soundaccording to one aspect of the present invention.

FIG. 8 is a pictorial illustration of a beadbox interactor system havingan overlay template in accordance with a further embodiment of thepresent invention.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

In FIG. 1, an interactor system 10 includes a detection space 12, acontroller computer system 14, and an optional system 16. A number ofinteractors 18 (which will be discussed more fully hereafter) may beengaged with, moved around in, and removed from the detection space 12.The interactors 18 in conjunction with the detection space 12 allow theuser to program and control operation of the computer system 14 viatangible, meaningful objects and thus help define a computer interfacethat is intuitive, flexible and rich in meaning. As used herein, theterms “detection space,” “detection field,” “detection array” or thelike will refer to any n-dimensional space in the physical world.

The computer system 14 may be a general purpose microcomputer made byany one of a variety of computer manufacturers. For example, computersystem 14 can be a Macintosh computer system made by Apple Computer,Inc. or a PC/AT compatible DOS or Windows computer system made byCompaq, IBM, Packard-Bell, or others. Alternatively, the computer system14 may be an application specific integrated circuit (ASIC) or aprogrammable integrated circuit (PIC) designed or programmed for theparticular application.

The computer system 14 is coupled to the detection space 12 as indicatedat 20 such that it may receive information concerning an interactor 18placed within the detection space 12. An interface is provided betweenthe detection space 12 and the computer system 14. The interface may beinternal to either the detection space 12 or the computer system 14, ormay be separate from both. In some embodiments, the interface, thedetection space 12, and the computer system 14 are all housed in asingle package. The interface is responsive to the disposition andidentity of interactors placed within the detection space 12. Dependingupon the specific embodiment, the interface can determine parameterssuch as an interactor's position and orientation within the detectionspace 12 and position and orientation between different interactorsplaced within the detection space 12. Some preferred implementations ofinterfaces of the present invention will be discussed in greater detailsubsequently.

By coupling the optional system 16 to the computer system 14, theinteractors 18 and the optional system 16 can interact via controllercomputer system 14. The system 16 may serve as an input to computersystem 14, an output from computer system 14, or both. When used as aninput to computer system 14, the system 16 can provide data on a line 22which is used in conjunction with data on line 20 derived from theinteraction of an interactor 18 with the detection space 12.Communication lines 20 and 22 may be either unidirectional orbi-directional, as required. When used as an output from the computersystem 14, the system 16 can be controlled by the interaction of theinteractor 18 with the detection space 12. The system 16 can be of astandard commercial design (e.g. a videotape or compact disc player), orcan be a custom system designed for a particular use.

Each interactor 18 has an identity that may be measured by the detectionspace 12 and/or the interface. The computer system 14 maintains anidentity mapping between each interactor identity and a correspondinginteractor identity computer instruction. The computer system 14 furthermaintains a position mapping between each distinct measurable positionof the detection space 12 and a corresponding position computerinstruction. Thus each interactor has a particular meaning and thecomputer system 14 will respond in accordance with the arrangement ofdifferent interactors within the detection space.

In preferred embodiments, the identity and position mappings change witheach software application executed by the computer system 14. Forexample, a removable computer readable medium storing application data(e.g., the different mappings) can be installed for each application.The computer system can then load up the available mappings andimplement the particular application.

A beadbox interactor system 24 that is a user playable sound and lightshow system is illustrated in FIGS. 2 and 3. FIG. 2 illustrates onephysical embodiment of the beadbox interactor system 24 includinginteractor beads 26 and a physical beadbox 28. The beadbox 28 has adetection field 30 that in this instance includes a 5×5 array of beadreceptacles 32, a speaker 34, a bead drawer 36 and a removable computerreadable medium 38 such as a CD-ROM or a ROM integrated circuit. Withthe beadbox interactor system 24, a user can play sounds or music in apersonal setting according to the user's selection and positioning ofthe interactor beads 26.

When an interactor bead 26 is placed into a bead receptacle 32, thebeadbox interactor system 24 begins and continues to play a predefinedsound until the bead 26 is removed. Each bead 26 represents a differentsound and the row and column location of the bead 26 within the array 30controls how the sound is modified, e.g., louder or softer, higherpitched or lower pitched, the period of play, etc. In some embodiments,the beads 26 are translucent in order to conduct light from lightsources located under each bead receptacle 32. The available sounds aredetermined not only by the identity of the beads 26 and theirdisposition within the array 30, but also by sound data stored in thecomputer readable medium 38. Additionally, there can be many types ofmappings of the physical layout to the output parameters, therebysupporting a variety of different pitch, reverberation, delay or otherdesired sound effects. Hence a user can access a variety of soundcollections by simply installing a different computer readable medium38.

FIG. 3 illustrates diagrammatically one suitable embodiment of circuitryrequired to implement the beadbox interactor system 24 of FIG. 2. InFIG. 3, the beadbox interactor system 24 includes a detection array 30,a digital controller 40, a computer readable medium 38, an amplifier 42and a speaker 34. A column bus 50 and a row bus 52 couple the detectionfield 30 to the digital controller 40 through a pair of multiplexers 54and 56. Thus with a single analog-to-digital (A/D) converter 58 theentire detection array 30 can be scanned to measure the electricalsignal present at each bead receptacle 32. One suitable method fordetermining when interactor beads 26 have been inserted into thedetection array 30, measuring the values of the detection array 30 andproducing sounds and lights accordingly is described below withreference to FIGS. 6-7.

FIG. 4 illustrates an interactor bead 60 in accordance with oneembodiment of the present invention. The interactor bead 60 includes atranslucent body 62, an electrical conductor 64, and a light conductor66. The interactor bead 60 is designed for insertion into the beadreceptacles 32 such that when inserted, the electrical conductor 64completes certain circuitry of FIG. 3. In some embodiments theelectrical conductor 64 is simply a resistor of a predefined valuesignifying the identity of the bead 60. The light conductor 66 enableslight generated underneath the inserted bead 60 to conduct up throughthe translucent body 62. Note that the body 62 of the interactor bead 60can take many forms, being fully transparent, partially opaque, etc.

FIG. 5 illustrates schematically an electrical conductor 64 inaccordance with another embodiment of the present invention. Theelectrical conductor 64 includes a first electrical pathway 70 having afirst diode 74 connected in series with a first resistor 76, and asecond electrical pathway 72 having a variable resistor 78 connected inseries with a second diode 80. The first electrical pathway 70 isconnected in parallel with the second electrical pathway 72. The firstand second diodes are connected such that depending on the voltagepotential, at any instance current will flow through only one of thefirst and second electrical pathways 70 and 72. Thus by alternating thevoltage potential, one is able to alternate measuring the values of boththe first resistor 76 and the variable resistor 78.

The incorporation of a variable resistor 78 into the electricalconductor 64 allows a user to further program the operation of a beadboxinteractor system 24. The variable resistor 78 is user manipulable,typically in real time, enabling the user to adjust the value ofvariable resistor 78 while the beadbox interactor system 24 isoperating. The beadbox interactor system 24 can respond to the useradjusting the variable resistor 78 by either sensing the user adjustmentand taking a discrete, specific action, or by continuously adjustingoperation corresponding to the user adjustment. The mechanism allowingthe user to adjust the variable resistor could, e.g., be a knob orsqueeze grip transducer arranged conveniently on the interactor bead 60.Of course, regardless of the form the interactor takes (bead orotherwise), the electrical conductor of FIG. 5 could be incorporatedtherein.

FIG. 6 is a flowchart illustrating a method 100 for generating a beadinteractor interrupt. In brief, a bead interactor interrupt is generatedwhenever an interactor is inserted or removed from the detection space.As will be appreciated by those skilled in the art, the method 100includes a “debounce” procedure in order to confirm the measurementsmade during scanning. To accomplish the debounce procedure, the method100 utilizes the variables bead values (BV), TEMP1, TEMP2, and X. BV,TEMP1, and TEMP2 are arrays whose element have a one to onecorrespondence to the bead receptacles 32. The values in BV correspondto the currently measured values at the bead receptacles 32. TEMP1 is avariable used for determining whether the values in BV have satisfiedthe debounce condition. Specifically, as will be described below, TEMP1is used as a sort of place holder to determine whether the values in BVhave been constant for at least two scans of the detection array 30.TEMP2 is a variable that stores the bead receptacle values that are usedin implementing the light and sound show. The variable X is a countervariable used to determine whether BV has been constant for two scans.

An initialization step 102 performs any initialization processesnecessary to begin scanning a detection array 30 in order to measure thepresence and identity of beads inserted into the detection array 30.Step 102 includes zeroing X, and the elements of BV, TEMP1, and TEMP2. Afirst substantive step 104 scans the detection array 30 and a step 106determines a bead value at each bead receptacle 32, storing these valuesin the array BV. Then a step 108 determines whether the array BV equalsthe array TEMP1. When BV does not equal TEMP1, control is passed to astep 110 wherein TEMP1 is set equal to the values in BV. Aftercompletion of step 110, process control is returned to the scan step 104where the process of scanning the detection array is begun again.

When the step 108 determines that BV equals TEMP1, control is passed toa step 110 wherein it is determined whether X equals 2. When X does notequal 2, control is passed to a step 114 where X is set equal to Xplus 1. When X does equal 2, this indicates that the values in TEMP1have satisfied the debounce condition. Accordingly, control is passed toa step 116 where X is set equal to zero, enabling the scanning processto proceed. Then a step 118 determines whether TEMP1 equals TEMP2. Adetermination that TEMP1 equals TEMP2 indicates that no changes havebeen made within the detection array 30. Accordingly, when TEMP1 equalsTEMP2, control is passed back to the scan step 104 where the process ofscanning the detection array 30 starts again. However, when TEMP1 doesnot equal TEMP2, at least one change has been made within the detectionarray 30. Accordingly, step 120 generates a bead insertion interrupt toindicate to the sound and light show software that the play sequencemust be updated. Then in a step 122, TEMP2 is set equal to TEMP1 andcontrol is passed back to the scan step 104.

As mentioned above, certain embodiments of the present invention provideinteractors that have, in addition to identification circuitry, one ormore user programmable state variables. It will be apparent to thoseskilled in the art that the determination of the values of such statevariables can be achieved using a method similar to the method 100 ofFIG. 6. A method to determine the state variables could be implementedto utilize additional interface circuitry, and thus run in parallel withthe execution of method 100. Alternatively, a method to determine thestate variables could be incorporated within the method 100. In anyevent, when the interactor system determines that a value of a statevariable has changed, the system would generate a parameter changeinterrupt prompting the application software to respond appropriately.

FIG. 7 is a flowchart illustrating one method 200 for playing a sequencein accordance with one embodiment of the present invention. The sequencewill be defined by a play array representing parameters (interactoridentity, position, and state variable values) controlled by the user,as well as data and play instructions present in a computer readablemedium 38. In a first step 202, the digital controller 40 reads data andplay instructions from the computer readable medium 38. Then, in a step204, the digital controller 40 performs an action based upon the playarray, the data and play instructions, and any other relevant contextualinformation. For example, a background or introductory music and lightshow sequence may begin playing initially when no beads are insertedinto the detection array 30. Alternatively, the bead box interactorsystem 24 could simply go into a wait state, ready to respond to theinsertion of a new interactor bead 26. When one or more beads arepresent, the action in step 204 would involve the selection of thesound(s) sequence and light state to be implemented based upon the playarray, and then the selected sequence would begin playing continuously.

In a step 206, the method 200 receives an interrupt such as a beadinteractor interrupt, a parameter change interrupt, or a softwareinterrupt. A next step 208 interprets the interrupt and any associateddata received and updates the play array accordingly. Once the playarray is updated, control is passed back to step 204 where a new actionis performed based upon the updated play array. For example, the nowmodified play array may alter the sequence being played in some manner.In preferred embodiments, the receipt of an interrupt does not interruptplay of the sequence. The sequence continues to play in a processexecuting parallel to the method 200 of FIG. 7. However, the interruptand more specifically the new play array may alter the nature of thatsequence.

FIG. 8 illustrates one example of the use of an overlay template 250together with the beadbox interactor system 24 of FIG. 2 in accordancewith another aspect of the present invention. As described above, thedata and play instructions provided in the computer readable medium 38define the application implemented by the beadbox interactor system 24,the user inserting the interactor beads to, in essence, program theoperation of the application implemented by the beadbox interactorsystem 24. The overlay template 250 serves to further define theoperation of the beadbox interactor system 24, as well as providecontent and context to the user.

In the specific embodiment of FIG. 8, the overlay template 250 providesa “fill in the blank” text, commonly referred to as a “madlib.” Theblanks present within the overlay template 250 correspond to and exposeseveral different bead receptacles 32. A user would be provided a set ofinteractor beads 26 that would represent a variety of nouns, verbs,adjectives, etc. The user would then select and insert desiredinteractor beads 26 into blank bead receptacles 32 thereby completingthe sentences. Once completed, the beadbox interactor system 24 would“read” out loud the completed sentence inserting into the blanks thewords represented by the corresponding interactor beads 26.Alternatively, rather than simply reading text aloud, the beadboxinteractor system would play a chosen sound for each of the blanksfilled into the MadLib overlay. It is contemplated that each madlibcomputer readable medium would come with a number of different overlaytemplates 250, storing the different text and/or sounds for each page.The identity of each overly template 250 could be determined by theposition of the blanks, or by an identity interactor bead that wasinserted into a particular position.

The implementation of an interactor system 10 such as the beadboxinteractor system 24 can conceptually be divided into two separatesensing and application components. The sensing component involvesperforming accurate sensing of the states and positions of theinteractors 18. The application component involves providing theunderlying application that the interactor system 10 is intended tointerface with and control. The application component would typicallyinterpret the sensed data and provide feedback to the user. Whileseparate implementation of the sensing and application components is notmandatory, it may be helpful for a variety of reasons. By way ofexample, for a particular interactor system 10, the process of sensingand compiling the interactor data would likely be the same regardless ofthe particular application. In contrast, each application may or may nothave significant similarities. Along these lines, it is contemplatedthat certain interactor systems will have the sensing component executedas a separate process from the application component. The sensingcomponent could be stored in ROM fixedly attached within the computersystem, while the application component could be provided in theremovable computer readable medium.

While this invention has been described in terms of several preferredembodiments and some specific examples, there are further alterations,permutations, and equivalents which fall within the scope of thisinvention.

The concept of the beadbox interactor system 24, described above withreference to FIGS. 2-7, can be expanded to cover a variety ofapplications. For example, the overlay template could be related to amystery or puzzle game. Placing the interactor into a certain positioncould give the user a clue related, perhaps, to the content of theoverlay template. Assume the overlay template were a clock. Then theinteractors could be surrogate clock-hands and insertion into aparticular position would give the user a time-related clue.Alternatively, the overlay template could be the floor-plan of a houseand insertion into a particular position would give the user a cluerelated to that location. Further, the template could be used forstorytelling using layered sounds, or as an aid in teaching reading andmusic.

It is further contemplated that the interactors can be designed with aplurality of user programmable state variables that could include even asound recording medium. These features would allow users to personalizetheir interactors and exchange them among friends. These personalizedinteractors could be used for sending messages to or playing games withother users.

Certain interactor systems are envisioned as multi-user interactorsystems. The multi-user interactor systems would include multipledetection spaces coupled to one or more computer systems. Control of theone or more computer systems could then be effected by the placement ofinteractors by multiple users.

The interactor system of the present invention can be thought of as aphysical tool for programming the execution of a computer system. Take,for example, the operation of the beadbox system 24. By arranginginteractor beads within the detection array, the user is able to programthe beadbox system 24 to operate as desired. In another suitablecontext, Adams et al.'s aforementioned Patent Application describes asystem for controlling a music synthesizer by mapping a small number ofcontinuous range sensor signals into a larger number of control signalsthat are then used to control the music synthesis operations of themusic synthesizer. It is contemplated that the signal mapping functionscan be programmed via one embodiment of the interactor system of thepresent invention. For further details regarding this particular musicsynthesizer, please see Adams et al.'s Patent Application.

The variety of implementations contemplated for the present inventionare extensive. For example, the beadbox sound system could utilize agenetic algorithm to continuously mutate the music. In this case, thetwo axis of the bead receptacles correspond to two parent genetic inputforms and the mutations would be activated by the placement of beads. Asanother example, the user can access update information over theInternet, downloading new sounds, text, etc., as desired. Still further,the detection space can take any suitable form such as a hexagonal orcircular grid, or may be a 3-dimensional detection space having severallayers of grids or a spherical grid.

It is therefore intended that the following appended claims beinterpreted as including all such alterations, permutations, andequivalents as fall within the true spirit and scope of the presentinvention.

1. An interactor suitable for manually placing within a detection spaceof a computerized interactor system, the interactor comprising: anidentity circuitry configured to provide the computerized interactorsystem with an identity of the interactor and a position of theinteractor within the detection space; and a user programmable statecircuitry responsive to the computerized interactor system, configuredto receive user control input and provide a state of the interactor;wherein upon receiving the user control input, the user programmablestate circuitry causes an interrupt to be generated for the computerizedinteractor system.
 2. An interactor as recited in claim 1 wherein theidentity circuitry includes a first resistor whose value defines theidentity of the interactor.
 3. An interactor as recited in claim 1wherein the user programmable state circuitry includes a variableresistor whose value defines the state of the interactor, the userprogrammable state circuitry programmable in the sense that a user canadjust the value of the variable resistor.
 4. A plurality of interactorsas recited in claim 2, wherein the first resistor corresponding to eachof the plurality of interactors has a value unique within the pluralityof interactors.
 5. An interactor as recited in claim 1 wherein theinteractor is a translucent bead interactor.
 6. An interactor as recitedin claim 1 wherein the user programmable state circuitry includes memoryon which the user may store information.
 7. An interactor as recited inclaim 6 wherein the memory is suitable for storing sound recordings. 8.An interactor as recited in claim 3 further including a user adjustableknob that when properly manipulated adjusts the value of the variableresistor.
 9. An interactor as recited in claim 3 further including asqueezable transducer that when squeezed adjusts the value of thevariable resistor.
 10. A computer interactor system as recited in claim1 wherein the user programmable state circuitry is arranged to store aplurality of state values.
 11. A computer interactor system as recitedin claim 1 further including sound recording medium arranged such that auser can record a playable sound message thereon.
 12. A system forallowing a user to control an application executing on a computercomprising: a plurality of interactors, each interactor having anidentity; a detection space coupled to the computer; and a processor,coupled to a memory, configured to: generate a play array that includesdata corresponding to a position and an identity of each interactorpositioned within the detection space; execute application instructionsincluding performing an action based upon the play array and theapplication instructions; monitor to determine whether an event hasoccurred that requires updating the play array; and update the playarray when an event occurs that requires such an update.
 13. The systemas recited in claim 12 wherein the plurality of interactors includes afirst interactor and the processor is further configured to: determine aparameter associated with the first interactor, the parameter beingselected from the set consisting of 1) a position of the firstinteractor within the detection space, 2) orientation of the firstinteractor within the detection space, 3) motion of the first interactorwithin the detection space, and 4) a relative position of the firstinteractor with respect to a second interactor; determine an identity ofthe first interactor; and generate a first interactor interrupt and dataassociated with the parameter value and identity of the firstinteractor.
 14. The system as recited in claim 12 wherein the processoris further configured to: determine that a first interactor has beenremoved from the detection space; and generate a first interactorinterrupt and data associated with the removed first interactor.
 15. Thesystem as recited in claim 12 wherein at least one interactor positionedwith the detection space further includes a user programmable statevariable, the play array further includes data corresponding to a valueof the user programmable state variable, and the events requiring anupdate include a state variable interrupt corresponding to an adjustmentbeing made to the user programmable state variable.
 16. The system asrecited in claim 15 wherein the processor is further configured to:determine that an adjustment has been made to the user programmablestate variable; and generate a state variable interrupt and dataassociated with a new value of the user programmable state variable. 17.The system as recited in claim 12 wherein the application instructionsrelate to a user playable sound system.
 18. The system as recited inclaim 17 further comprising an amplifier and a speaker, wherein theapplication instructions include the playing of a sound sequence. 19.The system as recited in claim 18 wherein at least one of theinteractors positioned in the detection space is coupled to a lightsource, wherein the application instructions include lighting up the atleast one interactor coupled to the light source.
 20. The system asrecited in claim 18 wherein the detection space has a discrete, finitenumber of positions each representing a particular sound modificationcharacteristic, and the playing of a sound sequence includes playingsound in accordance with the identities and arrangement of the pluralityof interactors within the detection space.